<template>
	<view class="personal-data">
		<view class="personal-data-header u-flex">
			<view class="personal-data-header-item u-flex" :class="page==1?'act':''">
				<view class="personal-data-header-item-img">
					1
				</view>
				<view class="personal-data-header-item-title">
					资料
				</view>
			</view>
			<view class="personal-data-header-item u-flex" :class="page==2?'act':''">
				<view class="personal-data-header-item-img">
					2
				</view>
				<view class="personal-data-header-item-title">
					标签
				</view>
			</view>
		</view>
		<view class="personal-data-left" v-if="page==1">
			<view class="personal-data-left-img">
				<view class="personal-data-left-img-ava">
					<image src="../../../static/img/mine/personal/ava-def.png" mode=""></image>
				</view>
				<view class="personal-data-left-img-camera">
					<image src="../../../static/img/mine/personal/choose-img.png" mode=""></image>
				</view>
			</view>
			<view class="personal-data-left-list">
				<mine-personalitem title="昵称" :showArrow="false" placeholder="请输入" :enableInput="true">
				</mine-personalitem>
				<mine-personalitem title="性别" :showArrow="true" placeholder="请选择" :enableInput="false"
					@clickArrow="openSexChoose()">
				</mine-personalitem>
				<mine-personalitem title="年龄" :showArrow="false" placeholder="请输入" :enableInput="false" :value="18">
				</mine-personalitem>
				<mine-personalitem title="现居地" :showArrow="true" placeholder="请选择" :enableInput="false"
					@clickArrow="openSexChoose()">
				</mine-personalitem>
				<mine-personalitem title="家乡" :showArrow="true" placeholder="请选择" :enableInput="false"
					@clickArrow="openSexChoose()">
				</mine-personalitem>
				<mine-personalitem title="职业" :showArrow="true" placeholder="请选择" :enableInput="false"
					@clickArrow="openSexChoose()">
				</mine-personalitem>
				<mine-personalitem title="年收入" :showArrow="false" placeholder="请输入" :enableInput="true">
				</mine-personalitem>
			</view>
			<view class="personal-data-left-warm">

				为了打造100%真实的交友平台，个人资料请如实填写，不真实不走心的资料审核时将会被拒接
			</view>
			<view class="personal-data-left-btn public-btn" style="margin: 0 auto;" @click="nextPage()">
				下一步
			</view>
		</view>
		<view class="personal-data-right" v-if="page==2">
			<view class="personal-data-right-nav u-flex">
				<view class="personal-data-right-nav-item" @click="addNavId(item)"
					:class="(chooseNavId == item.id )?'act':''" v-for="(item,index) in navList">
					{{item.title}}
				</view>
			</view>
			<view class="personal-data-right-list u-flex">
				<view class="personal-data-right-list-item" @click="addIds(item)"
					:class="(chooseIds.findIndex(d=>d==item.id) != -1)?'act':''" v-for="(item,index) in list">
					{{item.title}}
				</view>
			</view>
			<view class="personal-data-right-fresh u-flex u-text-center u-row-center">
				<image src="../../../static/img/mine/personal/refresh.png" mode=""></image>
				<view class="">
					换一批
				</view>
			</view>
			<view class="personal-data-right-fresh" style="text-align: center;">
				{{chooseIds.length}}/20
			</view>
			<view class="public-btn public-btn-color" style="margin: 0 auto;margin-bottom: 60rpx;">
				保存
			</view>
		</view>
	</view>
</template>

<script>
	//这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
	import minePersonalitem from '../../../components/mine-personalitem/mine-personalitem.vue'
	export default {
		// 组件名称
		name: 'demo',
		// 组件参数 接收来自父组件的数据
		props: {},
		// 局部注册的组件,import引入的组件需要注入到对象中才能使用
		components: {
			minePersonalitem
		},
		// 组件状态值
		data() {
			return {
				page: 1, //1资料 2标签
				navList: [{
					id: 0,
					title: '标1'
				}, {
					id: 1,
					title: '标二'
				}, {
					id: 2,
					title: '标三'
				}, ],
				chooseNavId: 1,
				list: [{
						id: 10,
						title: '唱跳rap'
					},
					{
						id: 11,
						title: '唱跳rap'
					},
					{
						id: 12,
						title: '唱跳rap'
					},
					{
						id: 13,
						title: '唱跳rap'
					},
					{
						id: 14,
						title: '唱跳rap'
					},
					{
						id: 15,
						title: '唱跳rap'
					},
					{
						id: 16,
						title: '唱跳rap'
					},
					{
						id: 17,
						title: '唱跳rap'
					},
					{
						id: 18,
						title: '唱跳rap'
					},
					{
						id: 19,
						title: '唱跳rap'
					}, {
						id: 20,
						title: '唱跳rap'
					},
					{
						id: 21,
						title: '唱跳rap'
					}
				],
				chooseIds: []
			}
		},
		// 计算属性
		computed: {},
		// 侦听器
		watch: {},
		// 组件方法
		methods: {
			openSexChoose() {
				console.log("321")
			},
			nextPage() {
				this.page = 2
			},
			addIds(item) {
				let index = this.chooseIds.findIndex(d =>
					d == item.id
				)
				console.log(index)
				if (index == -1) {
					this.chooseIds.push(item.id)
				} else {
					this.chooseIds.splice(index, 1)
				}
				console.log(this.chooseIds)
			},
			addNavId(item) {
				this.chooseNavId = item.id
			}
		},
		// 以下是生命周期钩子   注：没用到的钩子请自行删除
		/**
		 * 在实例初始化之后，组件属性计算之前，如data属性等
		 */
		beforeCreate() {},
		/**
		 * 组件实例创建完成，属性已绑定，但DOM还未生成，$ el属性还不存在
		 */
		created() {},
		/**
		 * 在挂载开始之前被调用：相关的 render 函数首次被调用。
		 */
		beforeMount() {},
		/**
		 * el 被新创建的 vm.$ el 替换，并挂载到实例上去之后调用该钩子。
		 * 如果 root 实例挂载了一个文档内元素，当 mounted 被调用时 vm.$ el 也在文档内。
		 */
		mounted() {},
		/**
		 * 数据更新时调用，发生在虚拟 DOM 重新渲染和打补丁之前。
		 * 你可以在这个钩子中进一步地更改状态，这不会触发附加的重渲染过程。
		 */
		beforeUpdate() {},
		/**
		 * 由于数据更改导致的虚拟 DOM 重新渲染和打补丁，在这之后会调用该钩子。
		 * 当这个钩子被调用时，组件 DOM 已经更新，所以你现在可以执行依赖于 DOM 的操作。
		 */
		updated() {},
		/**
		 * keep-alive 组件激活时调用。 仅针对keep-alive 组件有效
		 */
		activated() {},
		/**
		 * keep-alive 组件停用时调用。 仅针对keep-alive 组件有效
		 */
		deactivated() {},
		/**
		 * 实例销毁之前调用。在这一步，实例仍然完全可用。
		 */
		beforeDestroy() {},
		/**
		 * Vue 实例销毁后调用。调用后，Vue 实例指示的所有东西都会解绑定，
		 * 所有的事件监听器会被移除，所有的子实例也会被销毁。
		 */
		destroyed() {}
	}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<!--使用了scoped属性之后，父组件的style样式将不会渗透到子组件中，-->
<!--然而子组件的根节点元素会同时被设置了scoped的父css样式和设置了scoped的子css样式影响，-->
<style scoped lang="scss">
	.personal-data {
		&-header {
			margin-top: 60rpx;
			margin-bottom: 60rpx;
			height: 40rpx;
			justify-content: center;

			.act {
				.personal-data-header-item-img {
					background: #7266FFFF;
				}

				.personal-data-header-item-title {
					color: #7266FFFF;
				}
			}

			&-item {
				width: 200rpx;
				justify-content: center;

				&-img {
					width: 40rpx;
					height: 40rpx;
					text-align: center;
					line-height: 40rpx;
					font-size: 24rpx;
					font-family: PingFang SC-Medium, PingFang SC;
					font-weight: 500;
					color: #FFFFFF;
					background: #CDCDCD;
					border-radius: 50%;
					margin-right: 12rpx;
				}

				&-title {
					font-size: 28rpx;
					font-family: PingFang SC-Medium, PingFang SC;
					font-weight: 500;
					color: #8A9199;
				}
			}
		}

		&-left {
			&-img {
				position: relative;
				width: 136rpx;
				height: 136rpx;
				margin: 0 auto;

				&-ava {
					image {
						width: 136rpx;
						height: 136rpx;
					}
				}

				&-camera {
					position: absolute;
					right: 0;
					bottom: 0;

					image {
						height: 40rpx;
						width: 40rpx;
					}
				}
			}

			&-list {
				padding: 0 64rpx;
			}

			&-warm {
				width: 610rpx;
				margin: 0 auto;
				margin: 60rpx;
				font-size: 24rpx;
				font-family: PingFang SC-Medium, PingFang SC;
				font-weight: 500;
				color: #8A9199;
				text-align: center;
			}
		}

		&-right {
			padding: 0 32rpx;

			&-nav {
				.act {
					font-size: 28rpx;
					font-family: PingFang SC-Medium, PingFang SC;
					font-weight: 500;
					color: #2E3033;
				}

				.act::after {
					content: '';
					display: block;
					position: absolute;
					bottom: -6rpx;
					width: 28rpx;
					left: 50%;
					margin-left: -14rpx;
					height: 4rpx;
					background: #7266FF;
					border-radius: 2rpx;
				}

				&-item {
					margin-right: 60rpx;
					position: relative;
					font-size: 28rpx;
					font-family: PingFang SC-Medium, PingFang SC;
					color: #8A9199;
				}
			}

			&-list {
				flex-wrap: wrap;

				&-item {
					margin: 32rpx 15rpx;
					width: 136rpx;
					height: 64rpx;
					background: #F5F5F5;
					border-radius: 34rpx;
					font-size: 28rpx;
					font-family: PingFang SC-Medium, PingFang SC;
					font-weight: 500;
					color: #5C6166;
					text-align: center;
					line-height: 64rpx;
				}

				.act {
					background: #E7E5FF;
					color: #7266FF;
				}
			}

			&-fresh {
				font-size: 28rpx;
				font-family: PingFang SC-Medium, PingFang SC;
				font-weight: 500;
				color: #8A9199;
				margin: 40rpx 0;

				image {
					height: 40rpx;
					width: 40rpx;
				}
			}
		}
	}
</style>
